feat(compose): parse credential_spec, isolation, provider, use_api_socket and models#497
Merged
Merged
Conversation
…cket and models Several standard Compose Spec keys previously fell into the unknown/ extensions bucket and emitted a generic "unknown key" diagnostic, making a no-op indistinguishable from a typo. Recognize them explicitly: - credential_spec (service-level object: config/file/registry) - isolation (service-level string; distinct from build.isolation) - provider (Compose v2.36 object: type + options) - use_api_socket (Compose v2.37.1 bool) - models (Compose v2.38 top-level element) These have no rootless Podman equivalent, so each is parsed for fidelity and reported via the ignored-fields diagnostics as "recognized but not honored" rather than the generic unknown-key noise, matching podup's loud-over-silent convention. Typos inside the new sub-objects are still surfaced. Additive only; no behaviour change for existing files. Signed-off-by: Jaro-c <75870284+Jaro-c@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #481
Several standard Compose Spec keys previously fell into the
unknown/extensionsbucket and emitted a generic "unknown key" diagnostic, so users could not tell a no-op from a typo. This PR recognizes them explicitly:credential_spec(service-level object:config/file/registry)isolation(service-level string; distinct from the existingbuild.isolation)provider(Compose v2.36 object:type+options)use_api_socket(Compose v2.37.1 bool)models(Compose v2.38 top-level element, alongside services/networks/volumes/secrets/configs)Each now parses into its dedicated field (no longer landing in
unknown/extensions) and warns via the existing ignored-fields diagnostics as "recognized but not honored" — podup/Podman rootless has no equivalent for any of them. This replaces the generic unknown-key noise and keeps podup's loud-over-silent convention. Typos inside the new sub-objects are still surfaced as unknown-key warnings.No engine implementation yet — these keys parse and warn; they are not honored by the runtime. Additive only; no behaviour change for existing files.
Tests: parse unit tests proving each key deserializes into its field and produces no unknown-key diagnostic, plus diagnostics tests asserting the not-honored warning fires and that the recognized keys no longer trip the generic unknown-key path.